home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 October: Mac OS SDK / Dev.CD Oct 00 SDK1.toast / Development Kits / Cross Platform / QuickTime 4.1.2 Windows SDK / ComponentIncludes / ImageCodec.k.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-04-12  |  20.1 KB  |  358 lines  |  [TEXT/R*ch]

  1. /*
  2.      File:        ImageCodec.k.h
  3.  
  4.      Contains:    QuickTime interfaces
  5.  
  6.      Version:    Technology:    
  7.                  Release:    QuickTime 4.1
  8.  
  9.      Copyright:    © 1990-1999 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17. #ifndef ___IMAGECODEC_K__
  18. #define ___IMAGECODEC_K__
  19.  
  20. #include <ImageCodec.h>
  21.  
  22. /*
  23.     Example usage:
  24.  
  25.         #define IMAGECODEC_BASENAME()    Fred
  26.         #define IMAGECODEC_GLOBALS()    FredGlobalsHandle
  27.         #include <ImageCodec.k.h>
  28.  
  29.     To specify that your component implementation does not use globals, do not #define IMAGECODEC_GLOBALS
  30. */
  31. #ifdef IMAGECODEC_BASENAME
  32.     #ifndef IMAGECODEC_GLOBALS
  33.         #define IMAGECODEC_GLOBALS() 
  34.         #define ADD_IMAGECODEC_COMMA 
  35.     #else
  36.         #define ADD_IMAGECODEC_COMMA ,
  37.     #endif
  38.     #define IMAGECODEC_GLUE(a,b) a##b
  39.     #define IMAGECODEC_STRCAT(a,b) IMAGECODEC_GLUE(a,b)
  40.     #define ADD_IMAGECODEC_BASENAME(name) IMAGECODEC_STRCAT(IMAGECODEC_BASENAME(),name)
  41.  
  42.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetCodecInfo) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecInfo * info);
  43.  
  44.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetCompressionTime) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA PixMapHandle  src, const Rect * srcRect, short  depth, CodecQ * spatialQuality, CodecQ * temporalQuality, unsigned long * time);
  45.  
  46.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetMaxCompressionSize) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA PixMapHandle  src, const Rect * srcRect, short  depth, CodecQ  quality, long * size);
  47.  
  48.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(PreCompress) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecCompressParams * params);
  49.  
  50.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(BandCompress) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecCompressParams * params);
  51.  
  52.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(PreDecompress) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecDecompressParams * params);
  53.  
  54.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(BandDecompress) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecDecompressParams * params);
  55.  
  56.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(Busy) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA ImageSequence  seq);
  57.  
  58.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetCompressedImageSize) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA ImageDescriptionHandle  desc, Ptr  data, long  bufferSize, ICMDataProcRecordPtr  dataProc, long * dataSize);
  59.  
  60.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetSimilarity) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA PixMapHandle  src, const Rect * srcRect, ImageDescriptionHandle  desc, Ptr  data, Fixed * similarity);
  61.  
  62.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(TrimImage) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA ImageDescriptionHandle  Desc, Ptr  inData, long  inBufferSize, ICMDataProcRecordPtr  dataProc, Ptr  outData, long  outBufferSize, ICMFlushProcRecordPtr  flushProc, Rect * trimRect, ICMProgressProcRecordPtr  progressProc);
  63.  
  64.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(RequestSettings) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA Handle  settings, Rect * rp, ModalFilterUPP  filterProc);
  65.  
  66.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetSettings) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA Handle  settings);
  67.  
  68.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(SetSettings) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA Handle  settings);
  69.  
  70.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(Flush) (IMAGECODEC_GLOBALS());
  71.  
  72.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(SetTimeCode) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA void * timeCodeFormat, void * timeCodeTime);
  73.  
  74.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(IsImageDescriptionEquivalent) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA ImageDescriptionHandle  newDesc, Boolean * equivalent);
  75.  
  76.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(NewMemory) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA Ptr * data, Size  dataSize, long  dataUse, ICMMemoryDisposedUPP  memoryGoneProc, void * refCon);
  77.  
  78.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(DisposeMemory) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA Ptr  data);
  79.  
  80.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(HitTestData) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA ImageDescriptionHandle  desc, void * data, Size  dataSize, Point  where, Boolean * hit);
  81.  
  82.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(NewImageBufferMemory) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecDecompressParams * params, long  flags, ICMMemoryDisposedUPP  memoryGoneProc, void * refCon);
  83.  
  84.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(ExtractAndCombineFields) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA long  fieldFlags, void * data1, long  dataSize1, ImageDescriptionHandle  desc1, void * data2, long  dataSize2, ImageDescriptionHandle  desc2, void * outputData, long * outDataSize, ImageDescriptionHandle  descOut);
  85.  
  86.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetMaxCompressionSizeWithSources) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA PixMapHandle  src, const Rect * srcRect, short  depth, CodecQ  quality, CDSequenceDataSourcePtr  sourceData, long * size);
  87.  
  88.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(SetTimeBase) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA void * base);
  89.  
  90.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(SourceChanged) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA UInt32  majorSourceChangeSeed, UInt32  minorSourceChangeSeed, CDSequenceDataSourcePtr  sourceData, long * flagsOut);
  91.  
  92.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(FlushFrame) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA UInt32  flags);
  93.  
  94.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetSettingsAsText) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA Handle * text);
  95.  
  96.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetParameterListHandle) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA Handle * parameterDescriptionHandle);
  97.  
  98.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetParameterList) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA QTAtomContainer * parameterDescription);
  99.  
  100.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(CreateStandardParameterDialog) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA QTAtomContainer  parameterDescription, QTAtomContainer  parameters, QTParameterDialogOptions  dialogOptions, DialogPtr  existingDialog, short  existingUserItem, QTParameterDialog * createdDialog);
  101.  
  102.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(IsStandardParameterDialogEvent) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA EventRecord * pEvent, QTParameterDialog  createdDialog);
  103.  
  104.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(DismissStandardParameterDialog) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA QTParameterDialog  createdDialog);
  105.  
  106.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(StandardParameterDialogDoAction) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA QTParameterDialog  createdDialog, long  action, void * params);
  107.  
  108.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(NewImageGWorld) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecDecompressParams * params, GWorldPtr * newGW, long  flags);
  109.  
  110.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(DisposeImageGWorld) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA GWorldPtr  theGW);
  111.  
  112.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(HitTestDataWithFlags) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA ImageDescriptionHandle  desc, void * data, Size  dataSize, Point  where, long * hit, long  hitFlags);
  113.  
  114.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(ValidateParameters) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA QTAtomContainer  parameters, QTParameterValidationOptions  validationFlags, StringPtr  errorString);
  115.  
  116.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetBaseMPWorkFunction) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA ComponentMPWorkFunctionUPP * workFunction, void ** refCon, ImageCodecMPDrawBandUPP  drawProc, void * drawProcRefCon);
  117.  
  118.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(Preflight) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecDecompressParams * params);
  119.  
  120.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(Initialize) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA ImageSubCodecDecompressCapabilities * cap);
  121.  
  122.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(BeginBand) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecDecompressParams * params, ImageSubCodecDecompressRecord * drp, long  flags);
  123.  
  124.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(DrawBand) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA ImageSubCodecDecompressRecord * drp);
  125.  
  126.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EndBand) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA ImageSubCodecDecompressRecord * drp, OSErr  result, long  flags);
  127.  
  128.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(QueueStarting) (IMAGECODEC_GLOBALS());
  129.  
  130.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(QueueStopping) (IMAGECODEC_GLOBALS());
  131.  
  132.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(DroppingFrame) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA const ImageSubCodecDecompressRecord * drp);
  133.  
  134.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(ScheduleFrame) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA const ImageSubCodecDecompressRecord * drp, ImageCodecTimeTriggerUPP  triggerProc, void * triggerProcRefCon);
  135.  
  136.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(CancelTrigger) (IMAGECODEC_GLOBALS());
  137.  
  138.  
  139.     /* MixedMode ProcInfo constants for component calls */
  140.     enum {
  141.         uppImageCodecGetCodecInfoProcInfo = 0x000003F0,
  142.         uppImageCodecGetCompressionTimeProcInfo = 0x000FEFF0,
  143.         uppImageCodecGetMaxCompressionSizeProcInfo = 0x0003EFF0,
  144.         uppImageCodecPreCompressProcInfo = 0x000003F0,
  145.         uppImageCodecBandCompressProcInfo = 0x000003F0,
  146.         uppImageCodecPreDecompressProcInfo = 0x000003F0,
  147.         uppImageCodecBandDecompressProcInfo = 0x000003F0,
  148.         uppImageCodecBusyProcInfo = 0x000003F0,
  149.         uppImageCodecGetCompressedImageSizeProcInfo = 0x0003FFF0,
  150.         uppImageCodecGetSimilarityProcInfo = 0x0003FFF0,
  151.         uppImageCodecTrimImageProcInfo = 0x03FFFFF0,
  152.         uppImageCodecRequestSettingsProcInfo = 0x00003FF0,
  153.         uppImageCodecGetSettingsProcInfo = 0x000003F0,
  154.         uppImageCodecSetSettingsProcInfo = 0x000003F0,
  155.         uppImageCodecFlushProcInfo = 0x000000F0,
  156.         uppImageCodecSetTimeCodeProcInfo = 0x00000FF0,
  157.         uppImageCodecIsImageDescriptionEquivalentProcInfo = 0x00000FF0,
  158.         uppImageCodecNewMemoryProcInfo = 0x0003FFF0,
  159.         uppImageCodecDisposeMemoryProcInfo = 0x000003F0,
  160.         uppImageCodecHitTestDataProcInfo = 0x0003FFF0,
  161.         uppImageCodecNewImageBufferMemoryProcInfo = 0x0000FFF0,
  162.         uppImageCodecExtractAndCombineFieldsProcInfo = 0x0FFFFFF0,
  163.         uppImageCodecGetMaxCompressionSizeWithSourcesProcInfo = 0x000FEFF0,
  164.         uppImageCodecSetTimeBaseProcInfo = 0x000003F0,
  165.         uppImageCodecSourceChangedProcInfo = 0x0000FFF0,
  166.         uppImageCodecFlushFrameProcInfo = 0x000003F0,
  167.         uppImageCodecGetSettingsAsTextProcInfo = 0x000003F0,
  168.         uppImageCodecGetParameterListHandleProcInfo = 0x000003F0,
  169.         uppImageCodecGetParameterListProcInfo = 0x000003F0,
  170.         uppImageCodecCreateStandardParameterDialogProcInfo = 0x000EFFF0,
  171.         uppImageCodecIsStandardParameterDialogEventProcInfo = 0x00000FF0,
  172.         uppImageCodecDismissStandardParameterDialogProcInfo = 0x000003F0,
  173.         uppImageCodecStandardParameterDialogDoActionProcInfo = 0x00003FF0,
  174.         uppImageCodecNewImageGWorldProcInfo = 0x00003FF0,
  175.         uppImageCodecDisposeImageGWorldProcInfo = 0x000003F0,
  176.         uppImageCodecHitTestDataWithFlagsProcInfo = 0x000FFFF0,
  177.         uppImageCodecValidateParametersProcInfo = 0x00003FF0,
  178.         uppImageCodecGetBaseMPWorkFunctionProcInfo = 0x0000FFF0,
  179.         uppImageCodecPreflightProcInfo = 0x000003F0,
  180.         uppImageCodecInitializeProcInfo = 0x000003F0,
  181.         uppImageCodecBeginBandProcInfo = 0x00003FF0,
  182.         uppImageCodecDrawBandProcInfo = 0x000003F0,
  183.         uppImageCodecEndBandProcInfo = 0x00003BF0,
  184.         uppImageCodecQueueStartingProcInfo = 0x000000F0,
  185.         uppImageCodecQueueStoppingProcInfo = 0x000000F0,
  186.         uppImageCodecDroppingFrameProcInfo = 0x000003F0,
  187.         uppImageCodecScheduleFrameProcInfo = 0x00003FF0,
  188.         uppImageCodecCancelTriggerProcInfo = 0x000000F0
  189.     };
  190.  
  191. #endif    /* IMAGECODEC_BASENAME */
  192.  
  193. /*
  194.     Example usage:
  195.  
  196.         #define QTPHOTO_BASENAME()    Fred
  197.         #define QTPHOTO_GLOBALS()    FredGlobalsHandle
  198.         #include <ImageCodec.k.h>
  199.  
  200.     To specify that your component implementation does not use globals, do not #define QTPHOTO_GLOBALS
  201. */
  202. #ifdef QTPHOTO_BASENAME
  203.     #ifndef QTPHOTO_GLOBALS
  204.         #define QTPHOTO_GLOBALS() 
  205.         #define ADD_QTPHOTO_COMMA 
  206.     #else
  207.         #define ADD_QTPHOTO_COMMA ,
  208.     #endif
  209.     #define QTPHOTO_GLUE(a,b) a##b
  210.     #define QTPHOTO_STRCAT(a,b) QTPHOTO_GLUE(a,b)
  211.     #define ADD_QTPHOTO_BASENAME(name) QTPHOTO_STRCAT(QTPHOTO_BASENAME(),name)
  212.  
  213.     EXTERN_API( ComponentResult  ) ADD_QTPHOTO_BASENAME(SetSampling) (QTPHOTO_GLOBALS() ADD_QTPHOTO_COMMA short  yH, short  yV, short  cbH, short  cbV, short  crH, short  crV);
  214.  
  215.     EXTERN_API( ComponentResult  ) ADD_QTPHOTO_BASENAME(SetRestartInterval) (QTPHOTO_GLOBALS() ADD_QTPHOTO_COMMA unsigned short  restartInterval);
  216.  
  217.     EXTERN_API( ComponentResult  ) ADD_QTPHOTO_BASENAME(DefineHuffmanTable) (QTPHOTO_GLOBALS() ADD_QTPHOTO_COMMA short  componentNumber, Boolean  isDC, unsigned char * lengthCounts, unsigned char * values);
  218.  
  219.     EXTERN_API( ComponentResult  ) ADD_QTPHOTO_BASENAME(DefineQuantizationTable) (QTPHOTO_GLOBALS() ADD_QTPHOTO_COMMA short  componentNumber, unsigned char * table);
  220.  
  221.  
  222.     /* MixedMode ProcInfo constants for component calls */
  223.     enum {
  224.         uppQTPhotoSetSamplingProcInfo = 0x000AAAF0,
  225.         uppQTPhotoSetRestartIntervalProcInfo = 0x000002F0,
  226.         uppQTPhotoDefineHuffmanTableProcInfo = 0x0000F6F0,
  227.         uppQTPhotoDefineQuantizationTableProcInfo = 0x00000EF0
  228.     };
  229.  
  230. #endif    /* QTPHOTO_BASENAME */
  231.  
  232. /*
  233.     Example usage:
  234.  
  235.         #define IMAGECODEC_BASENAME()    Fred
  236.         #define IMAGECODEC_GLOBALS()    FredGlobalsHandle
  237.         #include <ImageCodec.k.h>
  238.  
  239.     To specify that your component implementation does not use globals, do not #define IMAGECODEC_GLOBALS
  240. */
  241. #ifdef IMAGECODEC_BASENAME
  242.     #ifndef IMAGECODEC_GLOBALS
  243.         #define IMAGECODEC_GLOBALS() 
  244.         #define ADD_IMAGECODEC_COMMA 
  245.     #else
  246.         #define ADD_IMAGECODEC_COMMA ,
  247.     #endif
  248.     #define IMAGECODEC_GLUE(a,b) a##b
  249.     #define IMAGECODEC_STRCAT(a,b) IMAGECODEC_GLUE(a,b)
  250.     #define ADD_IMAGECODEC_BASENAME(name) IMAGECODEC_STRCAT(IMAGECODEC_BASENAME(),name)
  251.  
  252.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EffectSetup) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecDecompressParams * p);
  253.  
  254.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EffectBegin) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecDecompressParams * p, EffectsFrameParamsPtr  ePtr);
  255.  
  256.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EffectRenderFrame) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA EffectsFrameParamsPtr  p);
  257.  
  258.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EffectConvertEffectSourceToFormat) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA EffectSourcePtr  sourceToConvert, ImageDescriptionHandle  requestedDesc);
  259.  
  260.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EffectCancel) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA EffectsFrameParamsPtr  p);
  261.  
  262.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EffectGetSpeed) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA QTAtomContainer  parameters, Fixed * pFPS);
  263.  
  264.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EffectPrepareSMPTEFrame) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA PixMapPtr  destPixMap, SMPTEFrameReference * returnValue);
  265.  
  266.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EffectDisposeSMPTEFrame) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA SMPTEFrameReference  frameRef);
  267.  
  268.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EffectRenderSMPTEFrame) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA PixMapPtr  destPixMap, SMPTEFrameReference  frameRef, Fixed  effectPercentageEven, Fixed  effectPercentageOdd, Rect * pSourceRect, MatrixRecord * pMatrix, SMPTEWipeType  effectNumber, long  xRepeat, long  yRepeat, SMPTEFlags  flags, Fixed  penWidth, long  strokeValue);
  269.  
  270.  
  271.     /* MixedMode ProcInfo constants for component calls */
  272.     enum {
  273.         uppImageCodecEffectSetupProcInfo = 0x000003F0,
  274.         uppImageCodecEffectBeginProcInfo = 0x00000FF0,
  275.         uppImageCodecEffectRenderFrameProcInfo = 0x000003F0,
  276.         uppImageCodecEffectConvertEffectSourceToFormatProcInfo = 0x00000FF0,
  277.         uppImageCodecEffectCancelProcInfo = 0x000003F0,
  278.         uppImageCodecEffectGetSpeedProcInfo = 0x00000FF0,
  279.         uppImageCodecEffectPrepareSMPTEFrameProcInfo = 0x00000FF0,
  280.         uppImageCodecEffectDisposeSMPTEFrameProcInfo = 0x000003F0,
  281.         uppImageCodecEffectRenderSMPTEFrameProcInfo = 0xFFFFFFF0
  282.     };
  283.  
  284. #endif    /* IMAGECODEC_BASENAME */
  285.  
  286. /*
  287.     Example usage:
  288.  
  289.         #define CURVE_BASENAME()    Fred
  290.         #define CURVE_GLOBALS()    FredGlobalsHandle
  291.         #include <ImageCodec.k.h>
  292.  
  293.     To specify that your component implementation does not use globals, do not #define CURVE_GLOBALS
  294. */
  295. #ifdef CURVE_BASENAME
  296.     #ifndef CURVE_GLOBALS
  297.         #define CURVE_GLOBALS() 
  298.         #define ADD_CURVE_COMMA 
  299.     #else
  300.         #define ADD_CURVE_COMMA ,
  301.     #endif
  302.     #define CURVE_GLUE(a,b) a##b
  303.     #define CURVE_STRCAT(a,b) CURVE_GLUE(a,b)
  304.     #define ADD_CURVE_BASENAME(name) CURVE_STRCAT(CURVE_BASENAME(),name)
  305.  
  306.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(GetLength) (CURVE_GLOBALS() ADD_CURVE_COMMA gxPaths * target, long  index, wide * wideLength);
  307.  
  308.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(LengthToPoint) (CURVE_GLOBALS() ADD_CURVE_COMMA gxPaths * target, long  index, Fixed  length, FixedPoint * location, FixedPoint * tangent);
  309.  
  310.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(NewPath) (CURVE_GLOBALS() ADD_CURVE_COMMA Handle * pPath);
  311.  
  312.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(CountPointsInPath) (CURVE_GLOBALS() ADD_CURVE_COMMA gxPaths * aPath, unsigned long  contourIndex, unsigned long * pCount);
  313.  
  314.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(GetPathPoint) (CURVE_GLOBALS() ADD_CURVE_COMMA gxPaths * aPath, unsigned long  contourIndex, unsigned long  pointIndex, gxPoint * thePoint, Boolean * ptIsOnPath);
  315.  
  316.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(InsertPointIntoPath) (CURVE_GLOBALS() ADD_CURVE_COMMA gxPoint * aPoint, Handle  thePath, unsigned long  contourIndex, unsigned long  pointIndex, Boolean  ptIsOnPath);
  317.  
  318.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(SetPathPoint) (CURVE_GLOBALS() ADD_CURVE_COMMA gxPaths * aPath, unsigned long  contourIndex, unsigned long  pointIndex, gxPoint * thePoint, Boolean  ptIsOnPath);
  319.  
  320.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(GetNearestPathPoint) (CURVE_GLOBALS() ADD_CURVE_COMMA gxPaths * aPath, FixedPoint * thePoint, unsigned long * contourIndex, unsigned long * pointIndex, Fixed * theDelta);
  321.  
  322.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(PathPointToLength) (CURVE_GLOBALS() ADD_CURVE_COMMA gxPaths * aPath, Fixed  startDist, Fixed  endDist, FixedPoint * thePoint, Fixed * pLength);
  323.  
  324.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(CreateVectorStream) (CURVE_GLOBALS() ADD_CURVE_COMMA Handle * pStream);
  325.  
  326.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(AddAtomToVectorStream) (CURVE_GLOBALS() ADD_CURVE_COMMA OSType  atomType, Size  atomSize, void * pAtomData, Handle  vectorStream);
  327.  
  328.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(AddPathAtomToVectorStream) (CURVE_GLOBALS() ADD_CURVE_COMMA Handle  pathData, Handle  vectorStream);
  329.  
  330.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(AddZeroAtomToVectorStream) (CURVE_GLOBALS() ADD_CURVE_COMMA Handle  vectorStream);
  331.  
  332.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(GetAtomDataFromVectorStream) (CURVE_GLOBALS() ADD_CURVE_COMMA Handle  vectorStream, long  atomType, long * dataSize, Ptr * dataPtr);
  333.  
  334.  
  335.     /* MixedMode ProcInfo constants for component calls */
  336.     enum {
  337.         uppCurveGetLengthProcInfo = 0x00003FF0,
  338.         uppCurveLengthToPointProcInfo = 0x0003FFF0,
  339.         uppCurveNewPathProcInfo = 0x000003F0,
  340.         uppCurveCountPointsInPathProcInfo = 0x00003FF0,
  341.         uppCurveGetPathPointProcInfo = 0x0003FFF0,
  342.         uppCurveInsertPointIntoPathProcInfo = 0x0001FFF0,
  343.         uppCurveSetPathPointProcInfo = 0x0001FFF0,
  344.         uppCurveGetNearestPathPointProcInfo = 0x0003FFF0,
  345.         uppCurvePathPointToLengthProcInfo = 0x0003FFF0,
  346.         uppCurveCreateVectorStreamProcInfo = 0x000003F0,
  347.         uppCurveAddAtomToVectorStreamProcInfo = 0x0000FFF0,
  348.         uppCurveAddPathAtomToVectorStreamProcInfo = 0x00000FF0,
  349.         uppCurveAddZeroAtomToVectorStreamProcInfo = 0x000003F0,
  350.         uppCurveGetAtomDataFromVectorStreamProcInfo = 0x0000FFF0
  351.     };
  352.  
  353. #endif    /* CURVE_BASENAME */
  354.  
  355.  
  356. #endif /* ___IMAGECODEC_K__ */
  357.  
  358.